package com.yanfan.energy.domain;

import com.yanfan.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 任务管理表(Assignments)实体类
 *
 * @author makejava
 * @since 2023-01-12 16:51:12
 */
public class Assignments implements Serializable {
    private static final long serialVersionUID = 226761146870519240L;
    List<AssignmentTemplateTask> tasks;
    /**
     * 主键
     */
    @Excel(name = "任务id")
    private Long id;
    /**
     * 任务编号
     */
    @Excel(name = "任务编号")
    private String number;
    /**
     * 任务名称
     */
    @Excel(name = "任务名称")
    private String name;
    /**
     * 分类id
     */
    @Excel(name = "任务分类id")
    private Long classifyId;
    /**
     * 分类名称
     */
    @Excel(name = "任务分类名称")
    private String classifyName;
    /**
     * 计划编号
     */
    @Excel(name = "计划编号")
    private String planNumber;
    /**
     * 执行人
     */
    private String executor;
    /**
     * 执行时间
     */
    @Excel(name = "执行时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date executorDate;
    /**
     * 任务描述
     */
    @Excel(name = "任务描述")
    private String remark;
    /**
     * 状态（1、待处理，2、处理中、3、已完成）
     */
    @Excel(name = "状态")
    private Long state;
    /**
     * 模板id
     *
     * @author caijinkang
     * @date 2023/1/31 15:27
     * @param null
     * @return null
     */
    @Excel(name = "模板id")
    private Long templateId;
    /**
     * 模板名称
     *
     * @author caijinkang
     * @date 2023/1/31 15:38
     * @param null
     * @return null
     */
    @Excel(name = "模板名称")
    private String templateName;
    /**
     * 执行任务人
     *
     * @author caijinkang
     * @date 2023/1/31 15:28
     * @param null
     * @return null
     */
    @Excel(name = "执行任务人")
    private Long operatorId;
    /**
     * 创建人
     */
    @Excel(name = "创建人")
    private String createdBy;
    /**
     * 创建时间
     */
    @Excel(name = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdDate;
    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "修改时间")
    private Date lastModifiedDate;
    /**
     * 关联事件类型
     */
    private Integer eventType;
    /**
     * 关联事件ID
     */
    private Long eventId;
    /**
     * 关联事件编号
     */
    private String eventNumber;
    /**
     * 执行人部门
     */
    private String deptName;
    /**
     * 执行人部门id
     */
    private Long deptId;
    /**
     * 执行人名称
     */
    @Excel(name = "执行人")
    private String executorName;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date factBeginTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date factEndTime;
    /**
     * 实际用时
     */
    private Double factHour;
    private String planName;
    /**
     * 所属厂区名称
     *
     * @author caijinkang
     * @date 2023/1/11 13:51
     * @param null
     * @return null
     */
    private String plantName;
    /**
     * 所属车间名称
     *
     * @author caijinkang
     * @date 2023/1/11 13:51
     * @param null
     * @return null
     */
    private String workshopName;
    /**
     * 所属批次名称
     */
    private List<Batches> batches;
    /**
     * 所属批次名称
     */
    private List<BatchSegmentation> segments;
    /**
     * 图片详情
     */
    private List<DispatchPicture> pictureList;

    /**
     * 物料详情
     */
    private List<TaskMaterialApprove> materialList;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getClassifyId() {
        return classifyId;
    }

    public void setClassifyId(Long classifyId) {
        this.classifyId = classifyId;
    }

    public String getClassifyName() {
        return classifyName;
    }

    public void setClassifyName(String classifyName) {
        this.classifyName = classifyName;
    }

    public String getPlanNumber() {
        return planNumber;
    }

    public void setPlanNumber(String planNumber) {
        this.planNumber = planNumber;
    }

    public String getExecutor() {
        return executor;
    }

    public void setExecutor(String executor) {
        this.executor = executor;
    }

    public Date getExecutorDate() {
        return executorDate;
    }

    public void setExecutorDate(Date executorDate) {
        this.executorDate = executorDate;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Long getState() {
        return state;
    }

    public void setState(Long state) {
        this.state = state;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Date getCreatedDate() {
        return createdDate;
    }

    public void setCreatedDate(Date createdDate) {
        this.createdDate = createdDate;
    }

    public Date getLastModifiedDate() {
        return lastModifiedDate;
    }

    public void setLastModifiedDate(Date lastModifiedDate) {
        this.lastModifiedDate = lastModifiedDate;
    }

    public Long getTemplateId() {
        return templateId;
    }

    public void setTemplateId(Long templateId) {
        this.templateId = templateId;
    }

    public Long getOperatorId() {
        return operatorId;
    }

    public void setOperatorId(Long operatorId) {
        this.operatorId = operatorId;
    }

    public String getTemplateName() {
        return templateName;
    }

    public void setTemplateName(String templateName) {
        this.templateName = templateName;
    }


    public List<DispatchPicture> getPictureList() {
        return pictureList;
    }

    public void setPictureList(List<DispatchPicture> pictureList) {
        this.pictureList = pictureList;
    }

    public List<TaskMaterialApprove> getMaterialList() {
        return materialList;
    }

    public void setMaterialList(List<TaskMaterialApprove> materialList) {
        this.materialList = materialList;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public String getExecutorName() {
        return executorName;
    }

    public void setExecutorName(String executorName) {
        this.executorName = executorName;
    }

    public Integer getEventType() {
        return eventType;
    }

    public void setEventType(Integer eventType) {
        this.eventType = eventType;
    }

    public Long getEventId() {
        return eventId;
    }

    public void setEventId(Long eventId) {
        this.eventId = eventId;
    }

    public String getEventNumber() {
        return eventNumber;
    }

    public void setEventNumber(String eventNumber) {
        this.eventNumber = eventNumber;
    }

    public List<AssignmentTemplateTask> getTasks() {
        return tasks;
    }

    public void setTasks(List<AssignmentTemplateTask> tasks) {
        this.tasks = tasks;
    }

    public Date getFactBeginTime() {
        return factBeginTime;
    }

    public void setFactBeginTime(Date factBeginTime) {
        this.factBeginTime = factBeginTime;
    }

    public Date getFactEndTime() {
        return factEndTime;
    }

    public void setFactEndTime(Date factEndTime) {
        this.factEndTime = factEndTime;
    }

    public Double getFactHour() {
        return factHour;
    }

    public void setFactHour(Double factHour) {
        this.factHour = factHour;
    }


    public String getPlanName() {
        return planName;
    }

    public void setPlanName(String planName) {
        this.planName = planName;
    }

    public String getPlantName() {
        return plantName;
    }

    public void setPlantName(String plantName) {
        this.plantName = plantName;
    }

    public String getWorkshopName() {
        return workshopName;
    }

    public void setWorkshopName(String workshopName) {
        this.workshopName = workshopName;
    }

    public List<Batches> getBatches() {
        return batches;
    }

    public void setBatches(List<Batches> batches) {
        this.batches = batches;
    }

    public List<BatchSegmentation> getSegments() {
        return segments;
    }

    public void setSegments(List<BatchSegmentation> segments) {
        this.segments = segments;
    }
}

